#pragma once

#ifdef __QT5_TARGET

#include <QtCore/QDate>
#include <QtCore/QList>
#include <QtCore/QString>

#else

#include <QString>
#include <QDate>
#include <QList>

#endif

#include "korlapadmin_model_global.h"
#include "Visit.h"

class KORLAPADMIN_MODEL_EXPORT Patient
{
public:
	Patient(void);
	Patient(unsigned int filenr, const QString& name,const QString& phone,QDate dob);
	~Patient(void);
	
	QString getName()const;
	void setName(const QString& name);
	
	QDate getDate()const;
	void setDate(QDate date);
	
	int getFilenr()const;
	void setFilenr(int filenr);
	
	QString getPhone()const;
	void setPhone(const QString& number);

private:
	QString name; //Patient name. Not unique. Cannot be empty.
	QDate dob; // Date of birth. Not unique. Cannot Be empty.
	unsigned int file_nr; //Id of the file. Unique. Cannot be empty.
	QString phone; // Phone number. Unique. Can be empty.

	QList<Visit*> visits; //All visits involving that patient.
};
